/**********************************************************************
* 文件名：RabbitClient.pro
* 创建日期：2021-06-16 10:14
* 作者：李志勇
* 邮箱：18771909050@163.com
* 版权声明：Copyright (c) 2021 zhiyongli Technology (China) Limited.
* All rights reserved.
* 修改记录:
***********************************************************************/
#ifndef MQCLIENT_H
#define MQCLIENT_H

#include <QMainWindow>
#include <memory>

class MqController;

QT_BEGIN_NAMESPACE
namespace Ui { class MqView; }
QT_END_NAMESPACE

class MqView : public QMainWindow
{
    Q_OBJECT

public:
    MqView(QWidget *parent = nullptr);
    ~MqView();

private slots:
    void on_btn_connect_clicked();

    void on_btn_exchange_clicked();

    void on_btn_queue_clicked();

    void on_btn_send_clicked();

    void on_btn_clear_clicked();

    void on_checkBox_changeDurable_clicked(bool checked);

    void on_checkBox_changeAutoDelete_clicked(bool checked);

    void on_comboBox_exchangeType_currentIndexChanged(int index);

    void on_checkBox_queueDurable_clicked(bool checked);

    void on_checkBox_queueExclusive_clicked(bool checked);

    void on_checkBox_queueAutoDelete_clicked(bool checked);

private:
    void Init();
    void InitData();

    void set_exchange_type(int currentIndex);

    void AppendStateMsg(const QString& msg);
private:
    Ui::MqView *ui;

    std::shared_ptr<MqController> m_controller{nullptr};
};
#endif // MQCLIENT_H
